package com.hsjk.szwj.module.official.conver.video;

import com.hsjk.szwj.framework.common.pojo.PageResult;
import com.hsjk.szwj.module.official.controller.admin.video.vo.AdminOfficialWebsiteVideoCreateReqVO;
import com.hsjk.szwj.module.official.controller.admin.video.vo.AdminOfficialWebsiteVideoPageRespVO;
import com.hsjk.szwj.module.official.controller.admin.video.vo.AdminOfficialWebsiteVideoUpdateReqVO;
import com.hsjk.szwj.module.official.controller.app.category.vo.AppOfficialWebsiteAppCategoryRespVO;
import com.hsjk.szwj.module.official.controller.app.video.vo.AppOfficialWebsiteVideoListRespVO;
import com.hsjk.szwj.module.official.dal.dataobject.app.OfficialWebsiteAppCategoryDO;
import com.hsjk.szwj.module.official.dal.dataobject.video.OfficialWebsiteVideoDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * @author chenjiawei
 * @desc
 * @Date 2023/07/31 23:20
 **/
@Mapper
public interface OfficialWebsiteVideoConvert {
    OfficialWebsiteVideoConvert INSTANCE = Mappers.getMapper(OfficialWebsiteVideoConvert.class);

    List<AppOfficialWebsiteVideoListRespVO> convertAppOfficialWebsiteVideoListRespVO(List<OfficialWebsiteVideoDO> videoDOList);

    List<AppOfficialWebsiteAppCategoryRespVO> convertAppOfficialWebsiteAppCategoryRespVO(List<OfficialWebsiteAppCategoryDO> videoDOList);

    OfficialWebsiteVideoDO convertOfficialWebsiteVideoDO(AdminOfficialWebsiteVideoCreateReqVO reqVO);

    OfficialWebsiteVideoDO convertOfficialWebsiteVideoDO(AdminOfficialWebsiteVideoUpdateReqVO reqVO);

    PageResult<AdminOfficialWebsiteVideoPageRespVO> convertAdminOfficialWebsiteVideoPageRespVO(PageResult<OfficialWebsiteVideoDO> pageResult);
}
